{$CLEO .cs}
{$USE file}
{$USE ini}

//-------------MAIN---------------
thread 'PREDEAD' 
0390: load_txd_dictionary 'damage'
038F: load_texture "damage1" as 6 // Load dictionary with 0390 first
038F: load_texture "damage2" as 7 // Load dictionary with 0390 first

:PREDEAD
wait 0 
if
056D:   actor $PLAYER_ACTOR defined
else_jump @PREDEAD
read_float_from_ini_file 14@ = read_float_from_ini_file "CLEO/regen.ini" section "Settings" key "Limit" 
read_float_from_ini_file 15@ = read_float_from_ini_file "CLEO/regen.ini" section "Settings" key "DamLo" 
read_float_from_ini_file 16@ = read_float_from_ini_file "CLEO/regen.ini" section "Settings" key "DamMid" 
read_float_from_ini_file 17@ = read_float_from_ini_file "CLEO/regen.ini" section "Settings" key "DamHi" 
read_float_from_ini_file 18@ = read_float_from_ini_file "CLEO/regen.ini" section "Settings" key "DamCrit" 
6@ = Actor.Health($PLAYER_ACTOR)
008F: 6@ = integer 6@ to_float
0653: 7@ = float_stat 24                                   //MAX HEALTH
7@ -= 570.0
7@ *= 0.1767
7@ += 100.0
006B: 7@ *= 14@ // (float)
0087: 21@ = 7@ // (float)
0087: 22@ = 7@ // (float)
0087: 23@ = 7@ // (float)
0087: 24@ = 7@ // (float)
006B: 21@ *= 15@ // (float)
006B: 22@ *= 16@ // (float)
006B: 23@ *= 17@ // (float)
006B: 24@ *= 18@ // (float)
if
0025:   21@ > 6@  // (float)
else_jump @PREDEAD
03F0: enable_text_draw 1
1@ = 128
if
0025:   22@ > 6@  // (float)
else_jump @PREDEAD_1_fade_out
1@ = 250
if
0025:   23@ > 6@  // (float)
else_jump @PREDEAD_2_fade_out
1@ = 250
if
0025:   24@ > 6@  // (float)
else_jump @PREDEAD_3_fade_out
1@ = 250
jump @PREDEAD_4_fade_out

:PREDEAD_1_fade_out//================================================================LOW DAMAGE SEGMENT
1@ -= 3
if
0019:   1@ > 32
else_jump @PREDEAD_1_fade_in
038D: draw_texture 7 position 285.0 224.0 size 940.0 448.0 RGBA 255 255 255 1@
wait 0
6@ = Actor.Health($PLAYER_ACTOR)
008F: 6@ = integer 6@ to_float
0653: 7@ = float_stat 24                                   //MAX HEALTH
7@ -= 570.0
7@ *= 0.1767
7@ += 100.0
006B: 7@ *= 14@ // (float)
0087: 21@ = 7@ // (float)
0087: 22@ = 7@ // (float)
0087: 23@ = 7@ // (float)
0087: 24@ = 7@ // (float)
006B: 21@ *= 15@ // (float)
006B: 22@ *= 16@ // (float)
006B: 23@ *= 17@ // (float)
006B: 24@ *= 18@ // (float)
if
0025:   21@ > 6@  // (float)
else_jump @LOOP_END
if
8025:   22@ < 6@  // (float)
else_jump @LOOP_END
if
8025:   23@ < 6@  // (float)
else_jump @LOOP_END
if
8025:   24@ < 6@  // (float)
else_jump @LOOP_END
jump @PREDEAD_1_fade_out

:PREDEAD_1_fade_in
1@ += 3
if
8019:   1@ < 128
else_jump @PREDEAD_1_fade_out
038D: draw_texture 7 position 285.0 224.0 size 940.0 448.0 RGBA 255 255 255 1@
wait 0
6@ = Actor.Health($PLAYER_ACTOR)
008F: 6@ = integer 6@ to_float
0653: 7@ = float_stat 24                                   //MAX HEALTH
7@ -= 570.0
7@ *= 0.1767
7@ += 100.0
006B: 7@ *= 14@ // (float)
0087: 21@ = 7@ // (float)
0087: 22@ = 7@ // (float)
0087: 23@ = 7@ // (float)
0087: 24@ = 7@ // (float)
006B: 21@ *= 15@ // (float)
006B: 22@ *= 16@ // (float)
006B: 23@ *= 17@ // (float)
006B: 24@ *= 18@ // (float)
if
0025:   21@ > 6@  // (float)
else_jump @LOOP_END
if
8025:   22@ < 6@  // (float)
else_jump @LOOP_END
if
8025:   23@ < 6@  // (float)
else_jump @LOOP_END
if
8025:   24@ < 6@  // (float)
else_jump @LOOP_END
jump @PREDEAD_1_fade_in

:PREDEAD_2_fade_out//================================================================MID DAMAGE SEGMENT
1@ -= 7
if
0019:   1@ > 110
else_jump @PREDEAD_2_fade_in
038D: draw_texture 7 position 285.0 224.0 size 940.0 448.0 RGBA 255 255 255 1@
wait 0
6@ = Actor.Health($PLAYER_ACTOR)
008F: 6@ = integer 6@ to_float
0653: 7@ = float_stat 24                                   //MAX HEALTH
7@ -= 570.0
7@ *= 0.1767
7@ += 100.0
006B: 7@ *= 14@ // (float)
0087: 21@ = 7@ // (float)
0087: 22@ = 7@ // (float)
0087: 23@ = 7@ // (float)
0087: 24@ = 7@ // (float)
006B: 21@ *= 15@ // (float)
006B: 22@ *= 16@ // (float)
006B: 23@ *= 17@ // (float)
006B: 24@ *= 18@ // (float)
if
0025:   22@ > 6@  // (float)
else_jump @LOOP_END
if
8025:   23@ < 6@  // (float)
else_jump @LOOP_END
if
8025:   24@ < 6@  // (float)
else_jump @LOOP_END
jump @PREDEAD_2_fade_out

:PREDEAD_2_fade_in
1@ += 7
if
8019:   1@ < 230
else_jump @PREDEAD_2_fade_out
038D: draw_texture 7 position 285.0 224.0 size 940.0 448.0 RGBA 255 255 255 1@
wait 0
6@ = Actor.Health($PLAYER_ACTOR)
008F: 6@ = integer 6@ to_float
0653: 7@ = float_stat 24                                   //MAX HEALTH
7@ -= 570.0
7@ *= 0.1767
7@ += 100.0
006B: 7@ *= 14@ // (float)
0087: 21@ = 7@ // (float)
0087: 22@ = 7@ // (float)
0087: 23@ = 7@ // (float)
0087: 24@ = 7@ // (float)
006B: 21@ *= 15@ // (float)
006B: 22@ *= 16@ // (float)
006B: 23@ *= 17@ // (float)
006B: 24@ *= 18@ // (float)
if
0025:   22@ > 6@  // (float)
else_jump @LOOP_END
if
8025:   23@ < 6@  // (float)
else_jump @LOOP_END
if
8025:   24@ < 6@  // (float)
else_jump @LOOP_END
jump @PREDEAD_2_fade_in

:PREDEAD_3_fade_out//================================================================HIGH DAMAGE SEGMENT
1@ -= 7
if
0019:   1@ > 130
else_jump @PREDEAD_3_fade_in
038D: draw_texture 6 position 285.0 224.0 size 940.0 448.0 RGBA 255 255 255 1@
wait 0
6@ = Actor.Health($PLAYER_ACTOR)
008F: 6@ = integer 6@ to_float
0653: 7@ = float_stat 24                                   //MAX HEALTH
7@ -= 570.0
7@ *= 0.1767
7@ += 100.0
006B: 7@ *= 14@ // (float)
0087: 21@ = 7@ // (float)
0087: 22@ = 7@ // (float)
0087: 23@ = 7@ // (float)
0087: 24@ = 7@ // (float)
006B: 21@ *= 15@ // (float)
006B: 22@ *= 16@ // (float)
006B: 23@ *= 17@ // (float)
006B: 24@ *= 18@ // (float)
if
0025:   23@ > 6@  // (float)
else_jump @LOOP_END
if
8025:   24@ < 6@  // (float)
else_jump @LOOP_END
jump @PREDEAD_3_fade_out

:PREDEAD_3_fade_in
1@ += 7
if
8019:   1@ < 230
else_jump @PREDEAD_3_fade_out
038D: draw_texture 6 position 285.0 224.0 size 940.0 448.0 RGBA 255 255 255 1@
wait 0
6@ = Actor.Health($PLAYER_ACTOR)
008F: 6@ = integer 6@ to_float
0653: 7@ = float_stat 24                                   //MAX HEALTH
7@ -= 570.0
7@ *= 0.1767
7@ += 100.0
006B: 7@ *= 14@ // (float)
0087: 21@ = 7@ // (float)
0087: 22@ = 7@ // (float)
0087: 23@ = 7@ // (float)
0087: 24@ = 7@ // (float)
006B: 21@ *= 15@ // (float)
006B: 22@ *= 16@ // (float)
006B: 23@ *= 17@ // (float)
006B: 24@ *= 18@ // (float)
if
0025:   23@ > 6@  // (float)
else_jump @LOOP_END
if
8025:   24@ < 6@  // (float)
else_jump @LOOP_END
jump @PREDEAD_3_fade_in

:PREDEAD_4_fade_out//================================================================CRITICAL DAMAGE SEGMENT
1@ -= 16
if
0019:   1@ > 150
else_jump @PREDEAD_4_fade_in
038D: draw_texture 6 position 285.0 224.0 size 940.0 448.0 RGBA 255 32 32 1@
wait 0
6@ = Actor.Health($PLAYER_ACTOR)
008F: 6@ = integer 6@ to_float
0653: 7@ = float_stat 24                                   //MAX HEALTH
7@ -= 570.0
7@ *= 0.1767
7@ += 100.0
006B: 7@ *= 14@ // (float)
0087: 21@ = 7@ // (float)
0087: 22@ = 7@ // (float)
0087: 23@ = 7@ // (float)
0087: 24@ = 7@ // (float)
006B: 21@ *= 15@ // (float)
006B: 22@ *= 16@ // (float)
006B: 23@ *= 17@ // (float)
006B: 24@ *= 18@ // (float)
if
0025:   24@ > 6@  // (float)
else_jump @LOOP_END
jump @PREDEAD_4_fade_out

:PREDEAD_4_fade_in
1@ += 16
if
8019:   1@ < 250
else_jump @PREDEAD_4_fade_out
038D: draw_texture 6 position 285.0 224.0 size 940.0 448.0 RGBA 255 32 32 1@
wait 0
6@ = Actor.Health($PLAYER_ACTOR)
008F: 6@ = integer 6@ to_float
0653: 7@ = float_stat 24                                   //MAX HEALTH
7@ -= 570.0
7@ *= 0.1767
7@ += 100.0
006B: 7@ *= 14@ // (float)
0087: 21@ = 7@ // (float)
0087: 22@ = 7@ // (float)
0087: 23@ = 7@ // (float)
0087: 24@ = 7@ // (float)
006B: 21@ *= 15@ // (float)
006B: 22@ *= 16@ // (float)
006B: 23@ *= 17@ // (float)
006B: 24@ *= 18@ // (float)
if
0025:   24@ > 6@  // (float)
else_jump @LOOP_END
jump @PREDEAD_4_fade_in

:LOOP_END
03F0: enable_text_draw 0
jump @PREDEAD
